
#ifndef __audio_vorbisH__
#define __audio_vorbisH__

#include "audio_core.h"
#include <ogg/ogg.h>
#include <vorbis/codec.h>
#include <vorbis/vorbisfile.h>

namespace WtfAudio {
	/**
	 * Raw data reader for OGG Vorbis format.
	 **/
	class VorbisData: public Data {
		OggVorbis_File mVorbisFile;
		int mPosition;

	public:
		VorbisData(const WtfEngine::StringPool::Entry& sName);
		~VorbisData();

		bool getData(WtfEngine::NonCopyBuffer<>::tRefa rBuffer);
		void Reset();

		DATA_OBJECT(VorbisData, GC_ADDEDSIZE_AUTO(Data, VorbisData));
	};
};

#endif
